WinInet: obsluha chyb - prosim o revizi

Otázka od: Milan Cizek

31. 8. 2002 21:18

Ahoj,
napsal pkusil jsem se napsat obsluhu chyb wininetu, nejsem si ale jisty
spravnosti postupu, hlavne u ERROR_INTERNET_EXTENDED_ERROR. Jelikoz neumim
toto rozsirene hlaseni nasimulovat (ani nemam poneti, jake reetzce to
vlastne vraci), prosim o kontrolu.
Predem Diky!

procedure Error;
var ErrCode: integer; ErrStr: string; dwIntError,dwLength: DWORD;
begin
  ErrCode:=GetLastError;

  if (ErrCode>=INTERNET_ERROR_BASE) and (ErrCode<=INTERNET_ERROR_LAST) then
    begin
      SetLength(ErrStr,1024);
      if
FormatMessage(FORMAT_MESSAGE_FROM_HMODULE,Pointer(GetModuleHandle('wininet.d
ll')),
                       ErrCode,0,PChar(ErrStr),Length(ErrStr),nil)>0 then
        SetLength(ErrStr,StrLen(PChar(ErrStr)))
        else
          ErrStr:=SysErrorMessage(ErrCode);

      if ErrCode=ERROR_INTERNET_EXTENDED_ERROR then
        begin
          InternetGetLastResponseInfo(dwIntError,nil,dwLength);
          if dwLength>0 then
            InternetGetLastResponseInfo(dwIntError,PChar(ErrStr),dwLength);
        end;

      ShowMessage(ErrStr);
    end;
end;

S pozdravem Milan Cizek, amatersky programator, D6.02 Ent
Win2k (SP2) a WinXP, cizek.milan@seznam.cz, ICQ: 59826637

Odpovedá: Karel Kral

31. 8. 2002 17:39

Obsluhuju to velice podobne ale taky jsem nemel moznost si overit reakci
na ERROR_INTERNET_EXTENDED_ERROR

Milan Cizek wrote:
>
> Ahoj,
> napsal pkusil jsem se napsat obsluhu chyb wininetu, nejsem si ale jisty
> spravnosti postupu, hlavne u ERROR_INTERNET_EXTENDED_ERROR. Jelikoz neumim
> toto rozsirene hlaseni nasimulovat (ani nemam poneti, jake reetzce to
> vlastne vraci), prosim o kontrolu.
> Predem Diky!
>
> procedure Error;
> var ErrCode: integer; ErrStr: string; dwIntError,dwLength: DWORD;
> begin
> ErrCode:=GetLastError;
>
> if (ErrCode>=INTERNET_ERROR_BASE) and (ErrCode<=INTERNET_ERROR_LAST) then
> begin
> SetLength(ErrStr,1024);
> if
>
FormatMessage(FORMAT_MESSAGE_FROM_HMODULE,Pointer(GetModuleHandle('wininet.d
> ll')),
> ErrCode,0,PChar(ErrStr),Length(ErrStr),nil)>0 then
> SetLength(ErrStr,StrLen(PChar(ErrStr)))
> else
> ErrStr:=SysErrorMessage(ErrCode);
>
> if ErrCode=ERROR_INTERNET_EXTENDED_ERROR then
> begin
> InternetGetLastResponseInfo(dwIntError,nil,dwLength);
> if dwLength>0 then
> InternetGetLastResponseInfo(dwIntError,PChar(ErrStr),dwLength);
> end;
>
> ShowMessage(ErrStr);
> end;
> end;
>
> S pozdravem Milan Cizek, amatersky programator, D6.02 Ent
> Win2k (SP2) a WinXP, cizek.milan@seznam.cz, ICQ: 59826637

--
______________________________________________________
Karel Kral, vyvojar IT / IT developer
Purus, s.r.o., Cezavy 627, 664 56 Blucina, CZ
Tel: 05/47235000, 0602/552432, Fax: 05/47231203
E-Mail: mailto:kral@purus.cz, WWW: http://www.purus.cz
______________________________________________________